/**
 *
 *
 * 单独封装一个js文件，tree然后导入导出即可显示树形我们所需要样式
 *
 */
// 部门列表转为树形结构思路:
// 1如果pid为空，说明当前部门是一级部门
// 2.如果pid不为空，判断谁的id与当前部门的pid全等，如果全等，
// 说明当前id的这个部门是pid部门的爹，要给爹这个添加孩子
// 注意：对于树形结果的处理，常用的手段就是函数的递归（就是自己使用自己）

//列表转树性
//list：待转换的列表，pid：查找几级部门

export function list2Tree(list, pid) {
  //存储结果的树形数组
  const arr = [];
  //遍历list数组
  list.forEach((item) => {
    if (item.pid === pid) {
      //查找二级及多级部门'
      // 函数递归，查找item的子部门
      const children = list2Tree(list, item.id);
      // 如果children不为空，说明item有子部门
      if (children.length) {
        item.children = children;
      }
      //查找一级部门、
      //添加到结果树形数组中
      arr.push(item);
    }
  });
  //返回结果的树形数组
  return arr;
}
